/**
 * Created by why on 2017/3/27.
 */
// 公用js文件
// 定义一个对象 来承载我们封装的时间
window.itcast = {}/*定义了一个itcast的对象*/
// 封装一个transitionEnd 过渡结束事件
itcast.transitionEnd = function (dom,callback) {
    // 需要绑定事件的dom 绑定之后，当触发了事件 执行 callback（回调函数）
    if(dom && typeof dom =='object'){
        dom.addEventListener('webkitTransitionEnd',function () {
            // if (callback){
            //     callback();
            // }
            callback && callback();//此句的行为同上面注释
        });
        dom.addEventListener('transitionEnd',function () {
            callback && callback();
        });
    }
}
// 封装tap 点击
itcast.tap = function (dom, callback) {
    // 要求： 没有触发touchmove事件
    //         响应速度比click快
    if (dom && typeof dom == 'object'){
        var isMove = false;
        var startTime = 0;//当前时间
        dom.addEventListener('touchstart',function (e) {
            // console.log('start');
            // console.time('tap');//记录tap这个参数现在的时间
            startTime = Date.now();
        });
        dom.addEventListener('touchmove',function (e) {
            // console.log('move');
            isMove = true;
        });
        dom.addEventListener('touchend',function (e) {
            // console.log('end');
            // console.timeEnd('tap');//打印tap这个参数距离上一次记录的时间

            // 这里开始判断 要求tap的响应时间小于150
            if (!isMove && (Date.now()-startTime) < 150){
                // 满足条件，调用callback
                callback && callback(e);
            }
            // 重置参数
            isMove = false;
            startTime = 0;
        });
    }
}